package exercise;

import exercise1.FangDong;
import exercise1.FangZiHeTong;
import java.lang.reflect.Proxy;
import java.util.HashMap;

public class Test {
    public static void main(String[] args) {
        FangDong fangDong = new FangDong();

        // 通过JDK的API帮我们生成一个代理对象
        FangZiHeTong proxy = (FangZiHeTong) Proxy.newProxyInstance(
                FangDong.class.getClassLoader(),                        // 与目标对象一样的类加载器
                FangDong.class.getInterfaces(),                         // 目标对象实现的所有接口的字节码对象
                new exercise.ProxyHouseInvocationHandler(fangDong)               // 代理对象的调度器
        );
        // 代理对象执行的所有方法都会执行调度类的invoke方法
        proxy.GongYu();
        proxy.Hjf();
        proxy.Bs();

    }
}
